import * as React from 'react'; import * as ReactDom from 'react-dom'; import { Version } from '@microsoft/sp-core-library'; import { IPropertyPaneConfiguration, PropertyPaneTextField } from '@microsoft/sp-property-pane'; import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; import * as strings from '<%= componentStrings %>'; import <%= componentName %> from './components/<%= componentName %>'; import { I<%= componentName %>Props } from './components/I<%= componentName %>Props'; export interface I<%= componentClassName %>Props { description: string; } export default class <%= componentClassName %> extends BaseClientSideWebPartProps> { public render(): void { const element: React.ReactElementProps> = React.createElement( <%= componentName %>, { description: this.properties.description } ); ReactDom.render(element, this.domElement); } protected onDispose(): void { ReactDom.unmountComponentAtNode(this.domElement); } protected get dataVersion(): Version { return Version.parse('1.0'); } protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { return { pages: [ { header: { description: strings.PropertyPaneDescription }, groups: [ { groupName: strings.BasicGroupName, groupFields: [ PropertyPaneTextField('description', { label: strings.DescriptionFieldLabel }) ] } ] } ] }; } }